# Copyright 2024-2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This package is for Ink protos that are expected to be persisted in prod storage and/or on user
# devices. Extra care must be taken when changing these protos to continue to be able to handle old
# user data.

load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")

package(
    default_visibility = ["//visibility:public"],
)

proto_library(
    name = "brush_proto",
    srcs = ["brush.proto"],
    deps = [
        ":brush_family_proto",
        ":color_proto",
    ],
)

proto_library(
    name = "brush_family_proto",
    srcs = ["brush_family.proto"],
    deps = [
        ":color_proto",
    ],
)

proto_library(
    name = "color_proto",
    srcs = ["color.proto"],
)

proto_library(
    name = "stroke_input_batch_proto",
    srcs = ["stroke_input_batch.proto"],
    deps = [
        ":coded_numeric_run_proto",
    ],
)

proto_library(
    name = "mesh_proto",
    srcs = ["mesh.proto"],
    deps = [
        ":coded_numeric_run_proto",
    ],
)

proto_library(
    name = "coded_numeric_run_proto",
    srcs = ["coded_numeric_run.proto"],
)

cc_proto_library(
    name = "brush_cc_proto",
    deps = [":brush_proto"],
)

cc_proto_library(
    name = "brush_family_cc_proto",
    deps = [":brush_family_proto"],
)

cc_proto_library(
    name = "color_cc_proto",
    deps = [":color_proto"],
)

cc_proto_library(
    name = "stroke_input_batch_cc_proto",
    deps = [":stroke_input_batch_proto"],
)

cc_proto_library(
    name = "mesh_cc_proto",
    deps = [":mesh_proto"],
)

cc_proto_library(
    name = "coded_numeric_run_cc_proto",
    deps = [":coded_numeric_run_proto"],
)
